﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Xaml;

namespace Windows8Accelerator.Core.Xaml.Controls.Charts
{
    public class DataPointItem : DependencyObject
    {
        public VerticalAlignment YValueVerticalAlignment
        {
            get { return (VerticalAlignment)GetValue(YValueVerticalAlignmentProperty); }
            set { SetValue(YValueVerticalAlignmentProperty, value); }
        }
        public static readonly DependencyProperty YValueVerticalAlignmentProperty =
            DependencyProperty.Register("YValueVerticalAlignment", typeof(VerticalAlignment), typeof(DataPointItem), new PropertyMetadata(VerticalAlignment.Top));

        

        public Thickness Margin
        {
            get { return (Thickness)GetValue(MarginProperty); }
            set { SetValue(MarginProperty, value); }
        }
        public static readonly DependencyProperty MarginProperty =
            DependencyProperty.Register("Margin", typeof(Thickness), typeof(DataPointItem), new PropertyMetadata(new Thickness()));

        public double Height
        {
            get { return (double)GetValue(HeightProperty); }
            set { SetValue(HeightProperty, value); }
        }
        public static readonly DependencyProperty HeightProperty =
            DependencyProperty.Register("Height", typeof(double), typeof(DataPointItem), new PropertyMetadata(default(double)));

        public double Width
        {
            get { return (double)GetValue(WidthProperty); }
            set { SetValue(WidthProperty, value); }
        }
        public static readonly DependencyProperty WidthProperty =
            DependencyProperty.Register("Width", typeof(double), typeof(DataPointItem), new PropertyMetadata(default(double)));

        public double X
        {
            get { return (double)GetValue(XProperty); }
            set { SetValue(XProperty, value); }
        }
        public static readonly DependencyProperty XProperty =
            DependencyProperty.Register("X", typeof(double), typeof(DataPointItem), new PropertyMetadata(default(double)));

        public double Y
        {
            get { return (double)GetValue(YProperty); }
            set { SetValue(YProperty, value); }
        }
        public static readonly DependencyProperty YProperty =
            DependencyProperty.Register("Y", typeof(double), typeof(DataPointItem), new PropertyMetadata(default(double)));

        public string XValue
        {
            get { return (string)GetValue(XValueProperty); }
            set { SetValue(XValueProperty, value); }
        }
        public static readonly DependencyProperty XValueProperty =
            DependencyProperty.Register("XValue", typeof(string), typeof(DataPointItem), new PropertyMetadata(null));

        public string YValue
        {
            get { return (string)GetValue(YValueProperty); }
            set { SetValue(YValueProperty, value); }
        }
        public static readonly DependencyProperty YValueProperty =
            DependencyProperty.Register("YValue", typeof(string), typeof(DataPointItem), new PropertyMetadata(null));

        public string XLabel
        {
            get { return (string)GetValue(XLabelProperty); }
            set { SetValue(XLabelProperty, value); }
        }
        public static readonly DependencyProperty XLabelProperty =
            DependencyProperty.Register("XLabel", typeof(string), typeof(DataPointItem), new PropertyMetadata(null));

        public string YLabel
        {
            get { return (string)GetValue(YLabelProperty); }
            set { SetValue(YLabelProperty, value); }
        }
        public static readonly DependencyProperty YLabelProperty =
            DependencyProperty.Register("YLabel", typeof(string), typeof(DataPointItem), new PropertyMetadata(null));
    }
}
